/*
 * Copyright(c) 2022 长沙市希尚网络科技有限公司
 * 注意：本内容仅限于长沙市希尚网络科技有限公司内部传阅，禁止外泄以及用于其他的商业目的
 */

package com.jubaozan.reward.modules.sharding;

import lombok.Getter;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Configuration;

import java.util.Set;

/**
 * 分表配置
 *
 * @author LiuLongXiang
 * @version 1.0 2024/11/9
 */
@Slf4j
@Configuration
@ConfigurationProperties(prefix = "c3.sharding")
public class ShardingConfiguration {

    /**
     * 分表租户集合
     */
    @Getter
    private Set<Long> tenantIds;

    /**
     * 配置实例
     */
    @Getter
    private static ShardingConfiguration instance;

    /**
     * 设置分表租户ID
     * @param tenantIds 租户ID
     */
    public void setTenantIds(Set<Long> tenantIds) {
        if (CollectionUtils.isNotEmpty(tenantIds)) {
            this.tenantIds = tenantIds;
            instance = this;
        } else {
            logger.info("Currently there is no partition table configuration.");
        }
    }

}
